package com.baobao.dao;

import com.baobao.domain.Askleave;

import java.util.Calendar;
import java.util.Set;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Askleave entities.
 * 
 */
public interface AskleaveDAO extends JpaDao<Askleave> {

	/**
	 * JPQL Query - findAskleaveByApproveDetailContaining
	 *
	 */
	public Set<Askleave> findAskleaveByApproveDetailContaining(String approveDetail) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveDetailContaining
	 *
	 */
	public Set<Askleave> findAskleaveByApproveDetailContaining(String approveDetail, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByReason
	 *
	 */
	public Set<Askleave> findAskleaveByReason(String reason) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByReason
	 *
	 */
	public Set<Askleave> findAskleaveByReason(String reason, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveDetail
	 *
	 */
	public Set<Askleave> findAskleaveByApproveDetail(String approveDetail_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveDetail
	 *
	 */
	public Set<Askleave> findAskleaveByApproveDetail(String approveDetail_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByDetailContaining
	 *
	 */
	public Set<Askleave> findAskleaveByDetailContaining(String detail) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByDetailContaining
	 *
	 */
	public Set<Askleave> findAskleaveByDetailContaining(String detail, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveTime
	 *
	 */
	public Set<Askleave> findAskleaveByApproveTime(java.util.Calendar approveTime) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveTime
	 *
	 */
	public Set<Askleave> findAskleaveByApproveTime(Calendar approveTime, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStartTime
	 *
	 */
	public Set<Askleave> findAskleaveByStartTime(java.util.Calendar startTime) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStartTime
	 *
	 */
	public Set<Askleave> findAskleaveByStartTime(Calendar startTime, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveResultContaining
	 *
	 */
	public Set<Askleave> findAskleaveByApproveResultContaining(String approveResult) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveResultContaining
	 *
	 */
	public Set<Askleave> findAskleaveByApproveResultContaining(String approveResult, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByTeacherPhoneContaining
	 *
	 */
	public Set<Askleave> findAskleaveByTeacherPhoneContaining(String teacherPhone) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByTeacherPhoneContaining
	 *
	 */
	public Set<Askleave> findAskleaveByTeacherPhoneContaining(String teacherPhone, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByEndTime
	 *
	 */
	public Set<Askleave> findAskleaveByEndTime(java.util.Calendar endTime) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByEndTime
	 *
	 */
	public Set<Askleave> findAskleaveByEndTime(Calendar endTime, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByParentPhone
	 *
	 */
	public Set<Askleave> findAskleaveByParentPhone(String parentPhone) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByParentPhone
	 *
	 */
	public Set<Askleave> findAskleaveByParentPhone(String parentPhone, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByDetail
	 *
	 */
	public Set<Askleave> findAskleaveByDetail(String detail_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByDetail
	 *
	 */
	public Set<Askleave> findAskleaveByDetail(String detail_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApplyTime
	 *
	 */
	public Set<Askleave> findAskleaveByApplyTime(java.util.Calendar applyTime) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApplyTime
	 *
	 */
	public Set<Askleave> findAskleaveByApplyTime(Calendar applyTime, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByReasonContaining
	 *
	 */
	public Set<Askleave> findAskleaveByReasonContaining(String reason_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByReasonContaining
	 *
	 */
	public Set<Askleave> findAskleaveByReasonContaining(String reason_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByParentPhoneContaining
	 *
	 */
	public Set<Askleave> findAskleaveByParentPhoneContaining(String parentPhone_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByParentPhoneContaining
	 *
	 */
	public Set<Askleave> findAskleaveByParentPhoneContaining(String parentPhone_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStatusContaining
	 *
	 */
	public Set<Askleave> findAskleaveByStatusContaining(String status) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStatusContaining
	 *
	 */
	public Set<Askleave> findAskleaveByStatusContaining(String status, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByPrimaryKey
	 *
	 */
	public Askleave findAskleaveByPrimaryKey(String parentPhone_2, String studentId, java.util.Calendar applyTime_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByPrimaryKey
	 *
	 */
	public Askleave findAskleaveByPrimaryKey(String parentPhone_2, String studentId, Calendar applyTime_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllAskleaves
	 *
	 */
	public Set<Askleave> findAllAskleaves() throws DataAccessException;

	/**
	 * JPQL Query - findAllAskleaves
	 *
	 */
	public Set<Askleave> findAllAskleaves(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveResult
	 *
	 */
	public Set<Askleave> findAskleaveByApproveResult(String approveResult_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByApproveResult
	 *
	 */
	public Set<Askleave> findAskleaveByApproveResult(String approveResult_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStudentIdContaining
	 *
	 */
	public Set<Askleave> findAskleaveByStudentIdContaining(String studentId_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStudentIdContaining
	 *
	 */
	public Set<Askleave> findAskleaveByStudentIdContaining(String studentId_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStudentId
	 *
	 */
	public Set<Askleave> findAskleaveByStudentId(String studentId_2) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStudentId
	 *
	 */
	public Set<Askleave> findAskleaveByStudentId(String studentId_2, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByTeacherPhone
	 *
	 */
	public Set<Askleave> findAskleaveByTeacherPhone(String teacherPhone_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByTeacherPhone
	 *
	 */
	public Set<Askleave> findAskleaveByTeacherPhone(String teacherPhone_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStatus
	 *
	 */
	public Set<Askleave> findAskleaveByStatus(String status_1) throws DataAccessException;

	/**
	 * JPQL Query - findAskleaveByStatus
	 *
	 */
	public Set<Askleave> findAskleaveByStatus(String status_1, int startResult, int maxRows) throws DataAccessException;

}